#include <head.h>

pthread_mutex_t mutex;

void * pthread_Func_1(void * arg)
{
    printf("我是 张三 我下午没课 我来抢锁\n");
    // 上锁
    pthread_mutex_lock(&mutex);

    printf("(*^▽^*) 张三 开始约会\n");
    sleep(5);

    pthread_mutex_unlock(&mutex);
    printf("(*^▽^*) 张三 约会结束\n");
    sleep(3);
}
void * pthread_Func_2(void * arg)
{
    printf("我是 李四 我下午没课 我来抢锁\n");
    // 上锁
    pthread_mutex_lock(&mutex);

    printf("(*^▽^*) 李四 开始约会\n");
    sleep(5);

    pthread_mutex_unlock(&mutex);
    printf("(*^▽^*) 李四 约会结束\n");
    sleep(3);
}

int main(int argc, char const *argv[])
{
    
    // 创建一把锁
    pthread_mutex_init(&mutex , NULL);

    pthread_t tid_1;
    pthread_t tid_2;
    pthread_create(&tid_1 , NULL , pthread_Func_1 , NULL);
    pthread_create(&tid_2 , NULL , pthread_Func_2 , NULL);

    pthread_join(tid_1 , NULL);
    pthread_join(tid_2 , NULL);


    pthread_mutex_destroy(&mutex);
    return 0;
}